#include "digitalclock.h"
#include<QTimer>
#include <QTime>
#include <QMouseEvent>


DigitalClock::DigitalClock(QWidget* parent):QLCDNumber(parent)
{
    QPalette p=palette();    //获取调色板
    p.setColor(QPalette::Window,Qt::blue);     //给窗体设计蓝色背景
    setPalette(p);


    //无边框窗体风格
    setWindowFlags(Qt::FramelessWindowHint);

    //窗体透明度
    setWindowOpacity(0.5);

    QTimer *timer =new QTimer(this);    //计时器
    connect(timer,&QTimer::timeout,this,&DigitalClock::showTime);     //时间到就显示时间
    timer->start(1000);    //启动时间，并设置间隔为1s

    showTime();
    resize(150,60);
    m_showColon=true;



}

void DigitalClock::mousePressEvent(QMouseEvent *event)
{
    if(event->button()==Qt::LeftButton)
    {
        m_dragPosition=event->globalPos()            //鼠标相对屏幕左上角的位置
                      - frameGeometry().topLeft();   //时钟窗体左上角位置
        event->accept();
    }
    if(event->button()==Qt::RightButton){
        close();
    }
}

void DigitalClock::mouseMoveEvent(QMouseEvent *event)
{
    if(event->buttons()&& Qt::LeftButton)
    {
        move(event->globalPos() - m_dragPosition);
        event->accept();
    }

}

void DigitalClock::showTime()
{
    QTime time=QTime::currentTime();     //获取当前时间
    QString strTime=time.toString("hh:mm");      //日期转字符串格式需要指定时间格式
    if(m_showColon)
    {
        strTime[2]=':';
    }
    else
    {
        strTime[2]=' ';
    }

    display(strTime);
    m_showColon=!m_showColon;


}
